package com.zs.letcode.tencent;

/**
 * 整数反转
 * 给你一个 32 位的有符号整数 x ，返回将 x 中的数字部分反转后的结果。
 * <p>
 * 如果反转后整数超过 32 位的有符号整数的范围[−231, 231− 1] ，就返回 0。
 * <p>
 * 假设环境不允许存储 64 位整数（有符号或无符号）。
 * <p>
 * <p>
 * 示例 1：
 * <p>
 * 输入：x = 123
 * 输出：321
 * 示例 2：
 * <p>
 * 输入：x = -123
 * 输出：-321
 * 示例 3：
 * <p>
 * 输入：x = 120
 * 输出：21
 * 示例 4：
 * <p>
 * 输入：x = 0
 * 输出：0
 * <p>
 * <p>
 * 提示：
 * <p>
 * -231 <= x <= 231 - 1
 * 相关标签
 * 数学
 * <p>
 * 作者：力扣 (LeetCode)
 * 链接：https://leetcode-cn.com/leetbook/read/tencent/x5s2oj/
 * 来源：力扣（LeetCode）
 * 著作权归作者所有。商业转载请联系作者获得授权，非商业转载请注明出处。
 *
 * @author madison
 * @description
 * @date 2021/7/17 08:56
 */
public class Chapter28 {
    public static void main(String[] args) {

    }

    private static class Solution {
        public int reverse(int x) {
            int ans = 0;
            while (x != 0) {
                if (ans < Integer.MIN_VALUE / 10 || ans > Integer.MAX_VALUE / 10) {
                    return 0;
                }
                int y = x % 10;
                x = x / 10;
                ans = ans * 10 + y;
            }
            return ans;
        }
    }
}
